package com.blog.Utils;

/**
 * @author 任浩
 * @version 1.0
 */

import lombok.Data;

import java.io.Serializable;

/**
 * 此类是后端返回给前端的数据结果，的封装类。
 */

@Data
public class Result<T> implements Serializable {

    private Integer code; //代表返回的信息号。 1，代表返回成功，0代表返回失败
    private String msg ; //嗲表返回的错误信息，
    private T data;  //代表返回的数据

    /**
     * 成功返回，但是没有返回数据的方法
     * @param <T>
     * @return
     */
    public static <T> Result success(){
        Result<T> result = new Result<>();
        result.setCode(200);
        return result;
    }

    /**
     * 成功返回，有数据返回的结果
     * @param data
     * @param <T>
     * @return
     */
    public static <T> Result success(T data){
        Result result = new Result();
        result.setCode(200);
        result.setData(data);
        return result;
    }

    /**
     * 返回错误的信息。
     * @param data
     * @param
     * @return
     */
    public static Result error(String data){
        Result result = new Result();
        result.setCode(500);
        result.setMsg(data);
        return result;
    }

    public static Result error(String data,Integer code){
        Result result = new Result();
        result.setCode(code);
        result.setMsg(data);
        return result;
    }
}
